﻿Imports StartFrame.Web.BR.Helpers
Imports StartFrame.Web.BR
Imports StartFrame.BR.Web.Helpers

Namespace Mantenimiento.Precios

    Public Class Costo
        Inherits JsonAbm

        ''' <summary>
        ''' Esta clase se encarga de la administración de los reportes o consultas contempladas por la aplicación.
        ''' </summary>
        ''' Constructor
        Sub New()
            MyBase.New(Operador, Password, "XRCOSTO", "App_costo", "descripcion")
            MyBase.lnk_nombreOperador = Common.Env.Operador
            'Graba tracking
            Me.lnk_Tracking = True
        End Sub


        Private Sub Costo_Validando(ByRef cancela As Boolean, ByRef paramDataTable As System.Data.DataTable) Handles Me.Validando
            For Each row As DataRow In paramDataTable.Rows
                If row.RowState <> DataRowState.Deleted Then
                    If IsNumeric(row("valor")) AndAlso Integer.Parse(row("valor")) > 0 Then
                        row("porcentaje") = DBNull.Value
                    End If
                    If IsNumeric(row("porcentaje")) AndAlso Integer.Parse(row("porcentaje")) > 0 Then
                        row("valor") = DBNull.Value
                    End If
                End If
            Next
        End Sub

        Public Overrides Function List(Start As Integer, Limit As Integer, Orden As String, Filtro As String) As String
            Dim oFiltro As FiltroColeccion = FiltroColeccion.Parse(Filtro)
            If (Common.GrupoOperador.ID.Trim().ToUpper() = "COMERCIO") Then oFiltro.AgregarEQFilter("id_entidad", Common.EntidadOperador.ID)
            Return MyBase.List(Start, Limit, Orden, oFiltro.ToJSON())
        End Function
    End Class
End Namespace
